package com.fdb.efp.nls.service.facade;

import com.fdb.efp.nls.service.vo.GrantAuthDetailVO;
import com.fdb.efp.nls.service.vo.GrantAuthInfoVO;

import java.util.List;

/**
 * <p>Description:授权管理配置表				<p>
 * @author fuzm
 * @date 2018-05-07
 */
public interface GrantAuthInfoService {
	
	public List<GrantAuthInfoVO> queryAllOwner(GrantAuthInfoVO grantAuthInfoVo);
	
	public List<GrantAuthInfoVO> queryAllCurrOrg(GrantAuthInfoVO grantAuthInfoVo);
	
	public List<GrantAuthInfoVO> queryAllCurrDownOrg(GrantAuthInfoVO grantAuthInfoVo);
	
	/**
	 * 新增授权配置，返回新增对象
	 * @param inGrantAuthInfoVo
	 * @return
	 */
	public GrantAuthInfoVO insertGrantAuth(GrantAuthInfoVO inGrantAuthInfoVo);

	public int insertGrantAuthInfo(GrantAuthInfoVO inGrantAuthInfoVo);
	
	public int deleteByPk(GrantAuthInfoVO grantAuthInfoVo);
	
	public int updateByPk(GrantAuthInfoVO grantAuthInfoVo);
	
	public int updateByCommit(GrantAuthInfoVO grantAuthInfoVo);
	
	public int updateByStatus(GrantAuthInfoVO grantAuthInfoVo);
	
	public GrantAuthInfoVO queryByPk(GrantAuthInfoVO grantAuthInfoVo);
	
	//授权明细
	public List<GrantAuthDetailVO> queryAllDetailOwner(GrantAuthDetailVO grantAuthDetailVo);
	
	public List<GrantAuthDetailVO> queryAllDetailCurrOrg(GrantAuthDetailVO grantAuthDetailVo);
	
	public List<GrantAuthDetailVO> queryAllDetailCurrDownOrg(GrantAuthDetailVO grantAuthDetailVo);
	
	public int insertGrantAuthDetail(GrantAuthDetailVO inGrantAuthDetailVo);
	
	public int deleteByDetailId(GrantAuthDetailVO grantAuthDetailVo);
	
	public int deleteByGrantNo(GrantAuthDetailVO grantAuthDetailVo);
	
	public int updateByDetailId(GrantAuthDetailVO grantAuthDetailVo);
	
	public GrantAuthDetailVO queryByDetailId(GrantAuthDetailVO grantAuthDetailVo);
	/**
	 * 根据GRANT_OBJ_VAL查询条数
	 * @param grantAuthDetailVo
	 * @return
	 */
	public int queryByGrantVal(GrantAuthDetailVO grantAuthDetailVo);
	/**
	 * 
	 * @param grantAuthDetailVo
	 * @return
	 */
	public List<GrantAuthDetailVO> queryByGrantValAndGrantNo(GrantAuthDetailVO grantAuthDetailVo);
	
	public List<GrantAuthDetailVO> queryByGrantNo(GrantAuthDetailVO grantAuthDetailVo);
	/**
	 * 查询全部明细信息
	 * @param grantAuthDetailVo
	 * @return
	 */
	public List<GrantAuthDetailVO> queryAllGrantDetail(GrantAuthDetailVO grantAuthDetailVo);


}
